Non-volatile memories such as NAND and 3D-NAND flash memory and three dimensional (3D) cross point memory, etc., are prone to hard and soft errors that result in data retrieved from memory that is different from the data stored in memory. To manage the high error rates, referred to as the raw bit-error rate, or RBER, data is often encoded in memory using storage redundancies. That is, the data is stored using more bits as compared to the actual binary representation, a technique referred to as error control coding (ECC). ECC allows data to be read and decoded even in the presence of errors. Although the encoded data is strengthened by redundancies and resilient to errors, it still exhibits an error probability popularly termed as the uncorrectable bit-error rate (UBER), typically much smaller than the RBER.
Other features of the described embodiments will be apparent from the accompanying drawings and from the detailed description that follows.